1. Field of the Invention
The present invention relates, in general, to computer graphic production of a three dimensional (3D) character or computer animation, and, more particularly, to computer methods, software, and systems for binding a control cage to an animation mesh (or 3D modeled object, high resolution geometry, or the like) to provide more desirable and/or realistic deformation when moving the character among positions including articulating a character's skin in an accurate manner during movement of the character represented by the animation mesh.
2. Relevant Background
Computer graphics is widely used to provide animation for movies, video games, and other applications and, recently, there have been rapid advances in the animation of three dimensional (3D) characters. One problem that continues to face animators and creators of high-end computer graphics applications is creating and controlling volume deformations that are used to articulate characters such as for use in computer generated feature films and other high-end applications where it is desirable to provide accurate character deformation as the character is moved from one position to another. For example, animation of 3D characters is often considered most effective when the deformations of the character's skin or body simulates real life deformations of similar characters.
To control 3D models or animation meshes of a character or object, there has been an increasing interest in using cages or control cages as a practical way to manipulate the animation mesh or high resolution geometry defined by numerous vertices. A control cage is generally a low polygon-count polyhedron that has a shape that is defined by an artist or animator to enclose a 3D model or animation mesh. The points inside the control cage may represent affine sums of the cage's vertices multiplied by special weights called coordinates. Manipulating the control cage with a computer via animation software or applications induces a relatively smooth space deformation of its interior space. Hence, the 3D model or animation mesh is bound to the cage to move with or in a defined or corresponding way based on movement of the control cage. Advantages of cage-based deformation techniques include their simplicity, flexibility, and speed. Manipulating an enclosed object, for example a mesh surface of a modeled item, involves a smaller computational cost (when compared with moving the original high resolution model) since transforming a point merely requires a linear combination of the control cage geometry using precalculated coordinates. Unfortunately, current space-deformation techniques have limitations regarding the preservation of shape and/or details of the underlying or bound animation mesh or high resolution 3D model.
With current deformation techniques, it is important to properly bind the control cage to the animation mesh or high resolution geometry defining the modeled item or object (e.g., a 3D character being animated). Advanced deformation techniques include a variety of cage-model binding techniques but each has limitations for computer graphics (CG) production users. For example, a binding technique has been developed that uses “green coordinates” for closed polyhedral cages, and the green coordinate binding technique uses coordinates that are derived from the theory of green functions to try to provide piecewise, smooth boundaries in any dimension such that the deformation operator does not require discretization. Techniques have been used to derive closed-form expressions for the coordinates/green coordinates to produce a relatively fast algorithm for cage-based space deformation. However, the use of green coordinates in binding may produce scaling artifacts, provides limited or no control over localized regions, and is often numerically unstable.
Another method for creating and controlling volume deformations that are used to articulate animated characters involves the use of harmonic coordinates. In these processes, deformations may again be controlled using a topologically flexible structure or control cage defined by a 3D mesh. The control cage is bound to the animation mesh or 3D model of the animated object by using harmonic coordinates that are generally barycentric coordinates that may be extended to any dimension, and harmonic coordinates are intended to provide the advantages of being non-negative even in strongly concave situations and of having their magnitudes fall off with distance as measured within the control cage. However, the use of harmonic coordinates may cause problems when they are used in binding points that are outside the control cage. Additionally, use of harmonic coordinates may be inaccurate unless they are used with a dense solver provided in or accessed by a CG or animation application, and dense solvers are typically very slow and/or require more processing capacity.
Mean value coordinate (MVC) techniques have also been utilized for binding a control cage to an animation mesh or for defining the correspondence of the cage with the original high resolution geometry of the modeled object. For example, one technique generalizes MVCs from closed two-dimensional (2D) polygons to closed triangular meshes as part of the binding process. MVC techniques are fast and often appealing for use with low resolution control cages. However, MVC-based binding processes may have a large computational footprint as resolution of the control cage is increased to support real-world or more typical CG applications. MVC binding techniques also may provide limited local controls and may require that a rebinding operation be performed when an incoming vertex of the deformed mesh is moving.
Other problems may arise with use of MVC and other binding techniques. For example, most existing binding techniques do not allow arbitrary control cages with open holes. Also, existing binding techniques typically require a special case or binding process that involves barycentric coordinates when a vertex of the animation mesh lies coplanar with a control cage face. Due to the existence of these and other issues with presently used binding practices, there remains a demand for improved methods for allowing control cages to be bound to a 3D model or animation mesh to support accurate and/or shape-preserving deformation of the 3D model or animation mesh (e.g., appealing deformation of skin of an animated 3D character as it is articulated and the like).